SQL 튜닝 3.1 테이블 액세스 최소화 오라클은 테이블 블록이 수시로 버퍼캐시에서 밀려났다가 다시 캐싱되며, 그 때마다 다른 공간에 캐싱되기 때문에 인덱스에서 포인터로 직접 연결할 수 없는 구조 ⇒ 일반 DBMS에서 인덱스 ROWID를 이용한 테이블 엑세스가 생각보다 빠르지 않다 → 해싱 알고리즘으로 버퍼 해더를 찾고, 거기서 얻은 포인터로 버퍼 블록을 찾아간다. 버퍼 Pinning : 인덱스 ROWID로 테이블을 엑세스할 때 오... SQL 튜닝SQL 튜닝 3장 인덱스 튜닝 - 그래서 어쩌라고? 인덱스 튜닝을 하면서 깨닫는 점 대량의 데이터를 조회할 때 인덱스를 사용하면 테이블 전체 스캔할 때보다 훨씬 느리다. 인덱스 ROWID를 이용한 테이블 랜덤 액세스는 고비용 구조 따라서 인덱스를 이용해 대량 데이터를 조회하면, 디스크 I/O 발생량도 함께 증가하므로 성능이 급격히 나빠진다. 인덱스 클러스터링 팩터 이는 테이블 액세스량에 비해 블록 I/O가 적게 발생하기 때문이다. 인덱스 손익... 인덱스SQL 튜닝SQL 튜닝 2장 인덱스 기본 - 백과사전에서 내가 원하는 단어 빨리 찾는 방법 인덱스 튜닝은 랜덤 액세스 최소화하는 것이 중요하다. 인덱스 튜닝의 두 가지 핵심요소 인덱스 스캔 효율화 튜닝: 인덱스 스캔과정에서 발생하는 비효율을 줄임 인덱스 구조 인덱스 탐색 과정 - 수직적 탐색: 인덱스 스캔 시작지점을 찾는 과정 인덱스 수직적 탐색 인덱스 수평적 탐색 수직적 탐색을 통해 스캔 시작점을 찾았으면, 찾고자 하는 데이터가 더 안 나타날 때까지 인덱스 리프 블록을 수평적으로... 인덱스SQL 튜닝SQL 튜닝
3.1 테이블 액세스 최소화 오라클은 테이블 블록이 수시로 버퍼캐시에서 밀려났다가 다시 캐싱되며, 그 때마다 다른 공간에 캐싱되기 때문에 인덱스에서 포인터로 직접 연결할 수 없는 구조 ⇒ 일반 DBMS에서 인덱스 ROWID를 이용한 테이블 엑세스가 생각보다 빠르지 않다 → 해싱 알고리즘으로 버퍼 해더를 찾고, 거기서 얻은 포인터로 버퍼 블록을 찾아간다. 버퍼 Pinning : 인덱스 ROWID로 테이블을 엑세스할 때 오... SQL 튜닝SQL 튜닝 3장 인덱스 튜닝 - 그래서 어쩌라고? 인덱스 튜닝을 하면서 깨닫는 점 대량의 데이터를 조회할 때 인덱스를 사용하면 테이블 전체 스캔할 때보다 훨씬 느리다. 인덱스 ROWID를 이용한 테이블 랜덤 액세스는 고비용 구조 따라서 인덱스를 이용해 대량 데이터를 조회하면, 디스크 I/O 발생량도 함께 증가하므로 성능이 급격히 나빠진다. 인덱스 클러스터링 팩터 이는 테이블 액세스량에 비해 블록 I/O가 적게 발생하기 때문이다. 인덱스 손익... 인덱스SQL 튜닝SQL 튜닝 2장 인덱스 기본 - 백과사전에서 내가 원하는 단어 빨리 찾는 방법 인덱스 튜닝은 랜덤 액세스 최소화하는 것이 중요하다. 인덱스 튜닝의 두 가지 핵심요소 인덱스 스캔 효율화 튜닝: 인덱스 스캔과정에서 발생하는 비효율을 줄임 인덱스 구조 인덱스 탐색 과정 - 수직적 탐색: 인덱스 스캔 시작지점을 찾는 과정 인덱스 수직적 탐색 인덱스 수평적 탐색 수직적 탐색을 통해 스캔 시작점을 찾았으면, 찾고자 하는 데이터가 더 안 나타날 때까지 인덱스 리프 블록을 수평적으로... 인덱스SQL 튜닝SQL 튜닝